From fe2a97c7cbccf11b915442fc3adddd01868f206f Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 13 Apr 2016 21:48:06 +0100 Subject: [PATCH] fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers This helps initramfs builders and other tools to find the full dependencies of a module. Signed-off-by: Ben Hutchings [Lukas Wunner: Forward-ported to 4.11: drop parts applied upstream] Gbp-Pq: Topic bugfix/all Gbp-Pq: Name fs-add-module_softdep-declarations-for-hard-coded-cr.patch --- fs/btrfs/super.c | 1 + fs/crypto/crypto.c | 1 + fs/ext4/super.c | 8 ++++++++ fs/f2fs/super.c | 1 + fs/jbd2/journal.c | 1 + fs/nfsd/nfsctl.c | 3 +++ 6 files changed, 15 insertions(+) diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 161694b6603..e95de4c98b3 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -2444,3 +2444,4 @@ late_initcall(init_btrfs_fs); module_exit(exit_btrfs_fs) MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-crc32c"); diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c index d262a93d9b3..f22085e02a3 100644 --- a/fs/crypto/crypto.c +++ b/fs/crypto/crypto.c @@ -487,3 +487,4 @@ static void __exit fscrypt_exit(void) module_exit(fscrypt_exit); MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-aes crypto-ecb"); diff --git a/fs/ext4/super.c b/fs/ext4/super.c index f29351c6661..b466febc2a0 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -5861,5 +5861,13 @@ static void __exit ext4_exit_fs(void) MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); MODULE_DESCRIPTION("Fourth Extended Filesystem"); MODULE_LICENSE("GPL"); + +#ifdef CONFIG_EXT4_FS_ENCRYPTION +#define EXT4_ENC_EXTRA_SOFTDEPS " crypto-aes crypto-ecb" +#else +#define EXT4_ENC_EXTRA_SOFTDEPS "" +#endif +MODULE_SOFTDEP("pre: crypto-crc32c" EXT4_ENC_EXTRA_SOFTDEPS); + module_init(ext4_init_fs) module_exit(ext4_exit_fs) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 933c3d529e6..a6e71b6628b 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -2734,4 +2734,5 @@ module_exit(exit_f2fs_fs) MODULE_AUTHOR("Samsung Electronics's Praesto Team"); MODULE_DESCRIPTION("Flash Friendly File System"); MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-crc32c"); diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 7d5ef3bf3f3..fe6f123c848 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -2697,6 +2697,7 @@ static void __exit journal_exit(void) } MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crypto-crc32c"); module_init(journal_init); module_exit(journal_exit); diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index 6493df6b1bd..2e995d3a7f4 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -1331,5 +1331,8 @@ static void __exit exit_nfsd(void) MODULE_AUTHOR("Olaf Kirch "); MODULE_LICENSE("GPL"); +#ifdef CONFIG_NFSD_V4 +MODULE_SOFTDEP("pre: crypto-md5"); +#endif module_init(init_nfsd) module_exit(exit_nfsd) -- 2.30.2